package br.com.commercy.teste.usuario;

import java.util.ArrayList;
import java.util.List;

import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;

import br.com.commercy.dominio.entidade.Endereco;
import br.com.commercy.dominio.entidade.Perfil;
import br.com.commercy.dominio.entidade.Role;
import br.com.commercy.dominio.entidade.Usuario;
import br.com.commercy.negocio.componente.perfil.bo.PerfilBO;
import br.com.commercy.negocio.componente.role.bo.RoleBO;
import br.com.commercy.negocio.componente.usuario.bo.UsuarioBO;
import br.com.commercy.teste.gerartabelas.ApplicationTestFactoryUtil;

public class TUsuario {
	
	private Usuario usuario;
	private Endereco endereco;
	private UsuarioBO bo;
	private Perfil perfil;
	private PerfilBO boPerfil;
	private RoleBO roleBo;

	@Before
	public void grupoEmpresa(){
		BeanFactory beanFactory = ApplicationTestFactoryUtil.obterInstancia().getBeanFactory();
		bo = (UsuarioBO) beanFactory.getBean("usuarioBOImpl");
		boPerfil = (PerfilBO) beanFactory.getBean("perfilBOImpl");
		roleBo = (RoleBO) beanFactory.getBean("roleBOImpl");
	}
	
	@Test
	public void teste(){
		endereco = new Endereco();
		endereco.setBairro("Toto");
		endereco.setCep(50791487L);
		endereco.setLogradouro("casa");
		endereco.setPais("Brasil");
		endereco.setUf("PE");
		List<Endereco> enderecos = new ArrayList<Endereco>();
		enderecos.add(endereco);
		
		
		List<Role> listaRole = new ArrayList<Role>();
		listaRole.add(roleBo.obter(1l));
		
		

		perfil = boPerfil.obter(1);
		
		usuario = new Usuario();
		usuario.setRoles(listaRole);
		usuario.setCpf("05804475452");
		usuario.setEmail("brsantos87@gmail.com");
		usuario.setEnderecos(enderecos);
		usuario.setMatricula("123456l");
		usuario.setNome("Bruno Santos da Silva");
		usuario.setLogin("brsantos");
		usuario.setSenha("123456");
		usuario.setPerfil(perfil);
		
		bo.salvar(usuario);
		
	}
}
